package manage.modules.group.service;

import java.util.List;

import manage.commons.utils.Pager;
import manage.modules.dept.model.GroupOfDept;
import manage.modules.group.model.Group;
import manage.modules.group.model.WorkerOfGroup;

public interface GroupService {

	List<Group> listGroupByDeptId(Long deptId);

	List<GroupOfDept> listGroupOfDeptByDeptId(Long deptId);

	List<GroupOfDept> listGroupOfDeptByGroupId(Long groupId);

	List<Long> listDeptIdByGroupId(Long groupId);

	Group select(Long groupId);

	int insert(Group group);

	int update(Group group);

	int delete(Long groupId);

	List<Group> listAll();

	boolean exists(Long groupId);

	boolean workerVested(Long groupId);

	Long getCountOfAll();

	void query(Group group, Pager<Group> pager);

	int insert(WorkerOfGroup workerOfGroup);

	void insertWorkerOfGroups(Long workerId, List<Long> groupIds);

	int delete(WorkerOfGroup workerOfGroup);

	void deleteWorkerOfGroups(Long workerId, List<Long> groupIds);

}
